/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.colegiatura.beans;

import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.cip.esymons.colegiatura.bc.ReconocimientoDelegate;
import org.cip.esymons.colegiatura.be.Reconocimiento;

/**
 *
 * @author ADMINISTRADOR
 */
public class ReconocimientoController {

    private ReconocimientoDelegate delegadoReconocimiento;
    private Reconocimiento reconocimiento;

    public ReconocimientoController() {

        delegadoReconocimiento =  new ReconocimientoDelegate();
        reconocimiento = new Reconocimiento();
    }

    public ReconocimientoDelegate getDelegadoReconocimiento() {
        return delegadoReconocimiento;
    }

    public void setDelegadoReconocimiento(ReconocimientoDelegate delegadoReconocimiento) {
        this.delegadoReconocimiento = delegadoReconocimiento;
    }

    public Reconocimiento getReconocimiento() {
        return reconocimiento;
    }

    public void setReconocimiento(Reconocimiento reconocimiento) {
        this.reconocimiento = reconocimiento;
    }

    public Reconocimiento buscaCodigo(Integer codigo){

        return delegadoReconocimiento.find(codigo);
    }

    public List<Reconocimiento> getListaReconocimiento(){

        return delegadoReconocimiento.findAll();
    }

    public String nuevo(){
        reconocimiento = new Reconocimiento();
        return "nuevo";
    }

    public String guardar(){

        delegadoReconocimiento.create(reconocimiento);
        reconocimiento = new Reconocimiento();
        mostrarMensaje("INFO: ", "Se registro satisfactoriamente...", FacesMessage.SEVERITY_INFO);
        return null;
    }

    public String editar(){

        return "editar";
    }

    public String actualizar(){

        delegadoReconocimiento.edit(reconocimiento);
        reconocimiento = new Reconocimiento();
        mostrarMensaje("INFO: ", "Se actualizo satisfactoriamente...", FacesMessage.SEVERITY_INFO);
        return "listar";
    }

    public String remover(){

        delegadoReconocimiento.remove(reconocimiento);
        reconocimiento = new Reconocimiento();
        return null;
    }

    public SelectItem[] getSelectListaReconocimiento(){

      try{
//        System.out.println("Ingreso 1");
        SelectItem[] selects = null;
        List<Reconocimiento> listaReco = delegadoReconocimiento.findAll();
        selects = new SelectItem[listaReco.size()];
        int cont = 0;
        for(Reconocimiento reco : listaReco){

            SelectItem item = new SelectItem(reco, reco.getRecNombre());
            selects[cont] = item;
            cont++;
        }

        return selects;
      }catch(Exception e){
            System.out.println("Ingreso Error");
            SelectItem[] selects = new SelectItem[1];
            SelectItem item = new SelectItem(null, "No existen reconocimientos");
            selects[0] = item;
            return selects;
      }

    }

    public void mostrarMensaje(String resumen, String detalle, FacesMessage.Severity severidad) {
        try {
            FacesMessage fm = new FacesMessage(severidad, resumen, detalle);
            FacesContext.getCurrentInstance().addMessage(fm.toString(), fm);
        } catch (Exception e) {
            FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage());
            FacesContext.getCurrentInstance().addMessage(fm.toString(), fm);
        }
    }
}
